home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WWTCLKit / WWMovieVarViewIBInspector.m < prev    next >
Encoding:
Text File  |  1995-03-22  |  2.0 KB  |  79 lines

  1.  
  2. #import "WWMovieVarView.h"
  3. #import "WWMovieVarViewIBInspector.h"
  4.  
  5. @implementation WWMovieVarViewIBInspector
  6.  
  7. - init 
  8. {
  9.    char buf[MAXPATHLEN + 1];
  10.    id bundle = [NXBundle bundleForClass:[WWMovieVarView class]];
  11.     
  12.  
  13.    [super init];
  14.  
  15.    tclVarValueSize = 256;
  16.    tclVarValue = (char *)NXZoneCalloc([self zone], tclVarValueSize, sizeof(char));
  17.  
  18.    [bundle getPath:buf forResource:[[self class] name] ofType:"nib"];
  19.    [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  20.  
  21.    // since the textView was "hidden" inside the ScrollView, we couldn't do this in IB, so...
  22.    [tclVarValueText setDelegate:self];
  23.  
  24.    [self revert:self];
  25.  
  26.    return self;
  27. }
  28. //
  29. - free
  30. {
  31.   //if (tclVarValue) { NXZoneFree([self zone], tclVarValue); }
  32.   return [super free];
  33. }
  34. //
  35. - revert:sender 
  36. {
  37.   [tclVarName setStringValue:[object tclVarName]];
  38.   [tclVarType setStringValue:[object tclVarType]]; 
  39.   [tclVarValueText setText:[object tclVarValue]];
  40.   [restrictVarNameSwitch setIntValue:[object restrictDropToSameName]];
  41.   [restrictVarTypeSwitch setIntValue:[object restrictDropToSameType]];
  42.   [sourceSwitch setIntValue:[object actAsSource]];
  43.   [sinkSwitch setIntValue:[object actAsSink]];
  44.   return [super revert:sender];
  45. }
  46. //
  47. - ok:sender
  48. {
  49.   int   cnt;
  50.  
  51.  
  52.   cnt = [tclVarValueText textLength];
  53.   while (cnt >= tclVarValueSize)
  54.   {  tclVarValueSize *= 2;
  55.      tclVarValue = (char *)NXZoneRealloc([self zone], tclVarValue, tclVarValueSize);
  56.   }
  57.   *tclVarValue = '\0';
  58.   [tclVarValueText getSubstring:tclVarValue start:0 length:(cnt + 1)];
  59.   [object setTclVarValue:tclVarValue];
  60.  
  61.   [object setTclVarName:[tclVarName stringValue]];
  62.   [object setTclVarType:[tclVarType stringValue]];
  63.   [object setRestrictDropToSameName:(BOOL)[restrictVarNameSwitch intValue]];
  64.   [object setRestrictDropToSameType:(BOOL)[restrictVarTypeSwitch intValue]];
  65.   [object setActAsSource:(BOOL)[sourceSwitch intValue]];
  66.   [object setActAsSink:(BOOL)[sinkSwitch intValue]];
  67.  
  68.   return [super ok:sender]; 
  69. }
  70. //
  71. - (BOOL)wantsButtons    { return YES; }
  72.  
  73. // text delegate methods
  74. - textDidChange:sender {  return [self touch:sender]; }
  75.  
  76.  
  77.  
  78. @end
  79.